/// 聚会模型
class GatheringModel {
  final String id;
  final String title;
  final String description;
  final String image;
  final DateTime startTime;
  final DateTime endTime;
  final String location;

  GatheringModel({
    required this.id,
    required this.title,
    required this.description,
    required this.image,
    required this.startTime,
    required this.endTime,
    required this.location,
  });

  GatheringModel copyWith({
    String? id,
    String? title,
    String? description,
    String? image,
    DateTime? startTime,
    DateTime? endTime,
    String? location,
  }) {
    return GatheringModel(
      id: id ?? this.id,
      title: title ?? this.title,
      description: description ?? this.description,
      image: image ?? this.image,
      startTime: startTime ?? this.startTime,
      endTime: endTime ?? this.endTime,
      location: location ?? this.location,
    );
  }
}

/// 聚会评论模型
class GatheringCommentModel {
  final String id;
  final String gatheringId;
  final String userId;
  final String content;
  final DateTime createdAt;

  GatheringCommentModel({
    required this.id,
    required this.gatheringId,
    required this.userId,
    required this.content,
    required this.createdAt,
  });

  GatheringCommentModel copyWith({
    String? id,
    String? gatheringId,
    String? userId,
    String? content,
    DateTime? createdAt,
  }) {
    return GatheringCommentModel(
      id: id ?? this.id,
      gatheringId: gatheringId ?? this.gatheringId,
      userId: userId ?? this.userId,
      content: content ?? this.content,
      createdAt: createdAt ?? this.createdAt,
    );
  }
}
